import axios from "axios";

// const url = process.env.NODE_ENV
// console.log(import.meta.env.MODE)
// let baseURL = '8.138.149.254:8082/api'
let baseURL = ''
if(import.meta.env.MODE=== 'development'){
    baseURL = 'localhost:8080/api'
}else if(import.meta.env.MODE=== 'production'){
    baseURL = '8.138.149.254:8082/api'
    // baseURL = '8.138.149.254:8082/api'
    // baseURL = '8.138.149.254:8082/api'
}
export {baseURL}
const myAxios = axios.create({
    baseURL: 'http://' + baseURL,
    timeout: 5000
})
import router from "@/router";
// import { showToast } from "vant/es";

myAxios.defaults.withCredentials = true;
// console.log(myAxios())
// 添加请求拦截器
let token = sessionStorage.getItem("token");
myAxios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    if(token) {
        config.headers['Authorization'] = token
    }
    return config;
}, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
});

// 添加响应拦截器
myAxios.interceptors.response.use(function (response) {
    // 2xx 范围内的状态码都会触发该函数。
    // 对响应数据做点什么
    
    if (response?.data?.code === 5000) {
        showToast('加载失败'+ response.data.description)
    }
    // 未登录则跳转到登录页
    if (response?.data?.code === 40100) {
        const route = router.currentRoute.value
        const redirectUrl = route.fullPath
        // console.log(`/login?redirect=${route.path}`)
        // router.push(`/login?redirect=${route.path}`)
        // const redirectUrl = window.location.href;
        window.location.href = `/login?redirect=${redirectUrl}`;
    }
    return response;
}, function (error) {
    // 超出 2xx 范围的状态码都会触发该函数。
    // 对响应错误做点什么
    return Promise.reject(error);
});
export default myAxios